<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>eRPC Generator (erpcgen): erpcgen::AstNode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">eRPC Generator (erpcgen)
   &#160;<span id="projectnumber">Rev. 1.7.4</span>
   </div>
   <div id="projectbrief">NXP Semiconductors</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classerpcgen_1_1_ast_node.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classerpcgen_1_1_ast_node-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">erpcgen::AstNode Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Homogeneous AST node class.  
 <a href="classerpcgen_1_1_ast_node.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_ast_node_8h_source.html">AstNode.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3457e8079d80158047cee1294926c63f"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <a class="el" href="class_value.html">Value</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a3457e8079d80158047cee1294926c63f">attribute_map_t</a></td></tr>
<tr class="separator:a3457e8079d80158047cee1294926c63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a053e9217ba8ff1e13b506953e831254d"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a053e9217ba8ff1e13b506953e831254d">child_list_t</a></td></tr>
<tr class="separator:a053e9217ba8ff1e13b506953e831254d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a1e32ead902f4832fe77bf0fea9b85d"><td class="memItemLeft" align="right" valign="top">typedef child_list_t::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a6a1e32ead902f4832fe77bf0fea9b85d">iterator</a></td></tr>
<tr class="separator:a6a1e32ead902f4832fe77bf0fea9b85d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e7c745e3e23d65fc18cf3038c997ee"><td class="memItemLeft" align="right" valign="top">typedef child_list_t::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a37e7c745e3e23d65fc18cf3038c997ee">const_iterator</a></td></tr>
<tr class="separator:a37e7c745e3e23d65fc18cf3038c997ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af93e5482a8c032afb73a0443bdfb8c10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#af93e5482a8c032afb73a0443bdfb8c10">AstNode</a> (const <a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;token)</td></tr>
<tr class="memdesc:af93e5482a8c032afb73a0443bdfb8c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class.  <a href="#af93e5482a8c032afb73a0443bdfb8c10">More...</a><br /></td></tr>
<tr class="separator:af93e5482a8c032afb73a0443bdfb8c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85358932700cac01ee23a220205bdfba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a85358932700cac01ee23a220205bdfba">AstNode</a> (<a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;token, <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *parent)</td></tr>
<tr class="memdesc:a85358932700cac01ee23a220205bdfba"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class.  <a href="#a85358932700cac01ee23a220205bdfba">More...</a><br /></td></tr>
<tr class="separator:a85358932700cac01ee23a220205bdfba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6461dacf08c5e25ceadb84c798db996b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a6461dacf08c5e25ceadb84c798db996b">AstNode</a> (const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp;other)</td></tr>
<tr class="memdesc:a6461dacf08c5e25ceadb84c798db996b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is copy constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class.  <a href="#a6461dacf08c5e25ceadb84c798db996b">More...</a><br /></td></tr>
<tr class="separator:a6461dacf08c5e25ceadb84c798db996b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0953078572b027d3fe1a0b013ea14318"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a0953078572b027d3fe1a0b013ea14318">operator=</a> (const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp;other)</td></tr>
<tr class="memdesc:a0953078572b027d3fe1a0b013ea14318"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#a0953078572b027d3fe1a0b013ea14318">More...</a><br /></td></tr>
<tr class="separator:a0953078572b027d3fe1a0b013ea14318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb0797e0870237b6adb6398fc81ebe6b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#aeb0797e0870237b6adb6398fc81ebe6b">~AstNode</a> ()</td></tr>
<tr class="memdesc:aeb0797e0870237b6adb6398fc81ebe6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is destructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class.  <a href="#aeb0797e0870237b6adb6398fc81ebe6b">More...</a><br /></td></tr>
<tr class="separator:aeb0797e0870237b6adb6398fc81ebe6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af578fd9636566a042f6fd0c9cfaa3cd1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#af578fd9636566a042f6fd0c9cfaa3cd1">clone</a> () const </td></tr>
<tr class="memdesc:af578fd9636566a042f6fd0c9cfaa3cd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns an exact duplicate of this object.  <a href="#af578fd9636566a042f6fd0c9cfaa3cd1">More...</a><br /></td></tr>
<tr class="separator:af578fd9636566a042f6fd0c9cfaa3cd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af340a5e5babee2b8abd6c264af0f288f"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#af340a5e5babee2b8abd6c264af0f288f">nodeName</a> () const </td></tr>
<tr class="memdesc:af340a5e5babee2b8abd6c264af0f288f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns name of this node.  <a href="#af340a5e5babee2b8abd6c264af0f288f">More...</a><br /></td></tr>
<tr class="separator:af340a5e5babee2b8abd6c264af0f288f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a814dc8085d1ac2fe4290200f514fdece"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a814dc8085d1ac2fe4290200f514fdece">getDescription</a> () const </td></tr>
<tr class="memdesc:a814dc8085d1ac2fe4290200f514fdece"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns string description of the node.  <a href="#a814dc8085d1ac2fe4290200f514fdece">More...</a><br /></td></tr>
<tr class="separator:a814dc8085d1ac2fe4290200f514fdece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Token</div></td></tr>
<tr class="memitem:a4644802709f33aabbeed7450d0f5ee1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a4644802709f33aabbeed7450d0f5ee1f">getToken</a> ()</td></tr>
<tr class="memdesc:a4644802709f33aabbeed7450d0f5ee1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns token of this node.  <a href="#a4644802709f33aabbeed7450d0f5ee1f">More...</a><br /></td></tr>
<tr class="separator:a4644802709f33aabbeed7450d0f5ee1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d14536ef1c2dd5ddf2e02bfa87e2eb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a56d14536ef1c2dd5ddf2e02bfa87e2eb">getToken</a> () const </td></tr>
<tr class="memdesc:a56d14536ef1c2dd5ddf2e02bfa87e2eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns constant token of this node.  <a href="#a56d14536ef1c2dd5ddf2e02bfa87e2eb">More...</a><br /></td></tr>
<tr class="separator:a56d14536ef1c2dd5ddf2e02bfa87e2eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac87ae686f256b14b79379728ce953358"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ac87ae686f256b14b79379728ce953358">setToken</a> (<a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;token)</td></tr>
<tr class="memdesc:ac87ae686f256b14b79379728ce953358"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function set token to this node.  <a href="#ac87ae686f256b14b79379728ce953358">More...</a><br /></td></tr>
<tr class="separator:ac87ae686f256b14b79379728ce953358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c085f49a7b1b3fd70184c886874b881"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_value.html">Value</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a8c085f49a7b1b3fd70184c886874b881">getTokenValue</a> ()</td></tr>
<tr class="memdesc:a8c085f49a7b1b3fd70184c886874b881"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns value of token of this node.  <a href="#a8c085f49a7b1b3fd70184c886874b881">More...</a><br /></td></tr>
<tr class="separator:a8c085f49a7b1b3fd70184c886874b881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad56b39de022d91dc3a72f81be94f0783"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ad56b39de022d91dc3a72f81be94f0783">getTokenString</a> ()</td></tr>
<tr class="memdesc:ad56b39de022d91dc3a72f81be94f0783"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns string representation of this node token value.  <a href="#ad56b39de022d91dc3a72f81be94f0783">More...</a><br /></td></tr>
<tr class="separator:ad56b39de022d91dc3a72f81be94f0783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Parent</div></td></tr>
<tr class="memitem:a71886c95f8fe70f115ccba2883cb4f08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a71886c95f8fe70f115ccba2883cb4f08">getParent</a> () const </td></tr>
<tr class="memdesc:a71886c95f8fe70f115ccba2883cb4f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns pointer to parent node.  <a href="#a71886c95f8fe70f115ccba2883cb4f08">More...</a><br /></td></tr>
<tr class="separator:a71886c95f8fe70f115ccba2883cb4f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade4a3ceb22c961deab26c534a0d4f512"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ade4a3ceb22c961deab26c534a0d4f512">setParent</a> (<a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *newParent)</td></tr>
<tr class="memdesc:ade4a3ceb22c961deab26c534a0d4f512"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function set parent for this node.  <a href="#ade4a3ceb22c961deab26c534a0d4f512">More...</a><br /></td></tr>
<tr class="separator:ade4a3ceb22c961deab26c534a0d4f512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Attribute</div></td></tr>
<tr class="memitem:a945c2572ca43f2864c396770a1c5e29c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a945c2572ca43f2864c396770a1c5e29c">attributeCount</a> () const </td></tr>
<tr class="memdesc:a945c2572ca43f2864c396770a1c5e29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns count of node attributes.  <a href="#a945c2572ca43f2864c396770a1c5e29c">More...</a><br /></td></tr>
<tr class="separator:a945c2572ca43f2864c396770a1c5e29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b918b3e6a1d776cd2d97fc35194889"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ad2b918b3e6a1d776cd2d97fc35194889">hasAttribute</a> (const std::string &amp;name) const </td></tr>
<tr class="memdesc:ad2b918b3e6a1d776cd2d97fc35194889"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function find attribute in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.  <a href="#ad2b918b3e6a1d776cd2d97fc35194889">More...</a><br /></td></tr>
<tr class="separator:ad2b918b3e6a1d776cd2d97fc35194889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb9fcfb549677f64e71b3345b17ef53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_value.html">Value</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#abbb9fcfb549677f64e71b3345b17ef53">getAttribute</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:abbb9fcfb549677f64e71b3345b17ef53"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function return attribute from <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.  <a href="#abbb9fcfb549677f64e71b3345b17ef53">More...</a><br /></td></tr>
<tr class="separator:abbb9fcfb549677f64e71b3345b17ef53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84856c47428fc75851c9d1dce3d0d674"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a84856c47428fc75851c9d1dce3d0d674">setAttribute</a> (const std::string &amp;name, <a class="el" href="class_value.html">Value</a> *node)</td></tr>
<tr class="memdesc:a84856c47428fc75851c9d1dce3d0d674"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function set attribute in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.  <a href="#a84856c47428fc75851c9d1dce3d0d674">More...</a><br /></td></tr>
<tr class="separator:a84856c47428fc75851c9d1dce3d0d674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd2e5d91497abeab14f18bd2320e023d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#abd2e5d91497abeab14f18bd2320e023d">removeAttribute</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:abd2e5d91497abeab14f18bd2320e023d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function remove attribute from <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.  <a href="#abd2e5d91497abeab14f18bd2320e023d">More...</a><br /></td></tr>
<tr class="separator:abd2e5d91497abeab14f18bd2320e023d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a378dcdd292eb8b68be6e453871de8754"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_value.html">Value</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a378dcdd292eb8b68be6e453871de8754">operator[]</a> (const std::string &amp;name)</td></tr>
<tr class="memdesc:a378dcdd292eb8b68be6e453871de8754"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square brackets.  <a href="#a378dcdd292eb8b68be6e453871de8754">More...</a><br /></td></tr>
<tr class="separator:a378dcdd292eb8b68be6e453871de8754"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Children</div></td></tr>
<tr class="memitem:a3c0a8040c3cf0ea621544bffdc44a033"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a3c0a8040c3cf0ea621544bffdc44a033">appendChild</a> (<a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *node)</td></tr>
<tr class="memdesc:a3c0a8040c3cf0ea621544bffdc44a033"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function add given node to the end of children list for current <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>.  <a href="#a3c0a8040c3cf0ea621544bffdc44a033">More...</a><br /></td></tr>
<tr class="separator:a3c0a8040c3cf0ea621544bffdc44a033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1054ec1fa85752e99ffa3adfb72b1bb2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a1054ec1fa85752e99ffa3adfb72b1bb2">childCount</a> () const </td></tr>
<tr class="memdesc:a1054ec1fa85752e99ffa3adfb72b1bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function return count of children for current node.  <a href="#a1054ec1fa85752e99ffa3adfb72b1bb2">More...</a><br /></td></tr>
<tr class="separator:a1054ec1fa85752e99ffa3adfb72b1bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a651cbcd73e0c4c0b75b8c21334bf3bbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a651cbcd73e0c4c0b75b8c21334bf3bbd">getChild</a> (int index) const </td></tr>
<tr class="memdesc:a651cbcd73e0c4c0b75b8c21334bf3bbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function return child node from node children.  <a href="#a651cbcd73e0c4c0b75b8c21334bf3bbd">More...</a><br /></td></tr>
<tr class="separator:a651cbcd73e0c4c0b75b8c21334bf3bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed311b11f950bd3cf65e1a66e96a3cc1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#aed311b11f950bd3cf65e1a66e96a3cc1">getIndexOfChild</a> (<a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *child)</td></tr>
<tr class="memdesc:aed311b11f950bd3cf65e1a66e96a3cc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function return index of searched child node.  <a href="#aed311b11f950bd3cf65e1a66e96a3cc1">More...</a><br /></td></tr>
<tr class="separator:aed311b11f950bd3cf65e1a66e96a3cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a077d782a18bdfb22d8a10a828481088c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a077d782a18bdfb22d8a10a828481088c">getIndex</a> ()</td></tr>
<tr class="memdesc:a077d782a18bdfb22d8a10a828481088c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function return index of current node in parent's list of children.  <a href="#a077d782a18bdfb22d8a10a828481088c">More...</a><br /></td></tr>
<tr class="separator:a077d782a18bdfb22d8a10a828481088c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50e36414d2fdeabc1197cad5ea014d77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a50e36414d2fdeabc1197cad5ea014d77">replaceChild</a> (<a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *original, <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *replacement)</td></tr>
<tr class="memdesc:a50e36414d2fdeabc1197cad5ea014d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function replace child in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> tree.  <a href="#a50e36414d2fdeabc1197cad5ea014d77">More...</a><br /></td></tr>
<tr class="separator:a50e36414d2fdeabc1197cad5ea014d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa809c3fe3989fd4e0f8fd6900b378e9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#aa809c3fe3989fd4e0f8fd6900b378e9f">reverseExpr</a> ()</td></tr>
<tr class="memdesc:aa809c3fe3989fd4e0f8fd6900b378e9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function replace children location in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> tree.  <a href="#aa809c3fe3989fd4e0f8fd6900b378e9f">More...</a><br /></td></tr>
<tr class="separator:aa809c3fe3989fd4e0f8fd6900b378e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a649844703d0856c1ac202a596e8cd0dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a649844703d0856c1ac202a596e8cd0dc">operator[]</a> (int index)</td></tr>
<tr class="memdesc:a649844703d0856c1ac202a596e8cd0dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square brackets.  <a href="#a649844703d0856c1ac202a596e8cd0dc">More...</a><br /></td></tr>
<tr class="separator:a649844703d0856c1ac202a596e8cd0dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a007f4478774729c7dcaba8c79a63c4df"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a007f4478774729c7dcaba8c79a63c4df">operator[]</a> (int index) const </td></tr>
<tr class="memdesc:a007f4478774729c7dcaba8c79a63c4df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square brackets.  <a href="#a007f4478774729c7dcaba8c79a63c4df">More...</a><br /></td></tr>
<tr class="separator:a007f4478774729c7dcaba8c79a63c4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Child iterators</div></td></tr>
<tr class="memitem:a813291b3ed60d2ebf6cc9236943c36a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a813291b3ed60d2ebf6cc9236943c36a5"></a>
<a class="el" href="classerpcgen_1_1_ast_node.html#a6a1e32ead902f4832fe77bf0fea9b85d">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
<tr class="separator:a813291b3ed60d2ebf6cc9236943c36a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8b0b74b8dce33c9086ebec9ca6318f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8b0b74b8dce33c9086ebec9ca6318f2"></a>
<a class="el" href="classerpcgen_1_1_ast_node.html#a6a1e32ead902f4832fe77bf0fea9b85d">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
<tr class="separator:aa8b0b74b8dce33c9086ebec9ca6318f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9618963cb0194865801ac50dfabddb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9618963cb0194865801ac50dfabddb1"></a>
<a class="el" href="classerpcgen_1_1_ast_node.html#a37e7c745e3e23d65fc18cf3038c997ee">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
<tr class="separator:ac9618963cb0194865801ac50dfabddb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1256929971e46c6b71298b3aa0ed3e37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1256929971e46c6b71298b3aa0ed3e37"></a>
<a class="el" href="classerpcgen_1_1_ast_node.html#a37e7c745e3e23d65fc18cf3038c997ee">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
<tr class="separator:a1256929971e46c6b71298b3aa0ed3e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a8709501b1d20303735df9cb03b8b5e3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_token.html">Token</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a8709501b1d20303735df9cb03b8b5e3f">m_token</a></td></tr>
<tr class="separator:a8709501b1d20303735df9cb03b8b5e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1ce2ea174015570a48d8ca394e00fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#a6b1ce2ea174015570a48d8ca394e00fd">m_parent</a></td></tr>
<tr class="separator:a6b1ce2ea174015570a48d8ca394e00fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0915f962b3997e08228ae38a61d935d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html#a3457e8079d80158047cee1294926c63f">attribute_map_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ac0915f962b3997e08228ae38a61d935d">m_attributes</a></td></tr>
<tr class="separator:ac0915f962b3997e08228ae38a61d935d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac333a0951760389cbfbf0cac7d613d10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpcgen_1_1_ast_node.html#a053e9217ba8ff1e13b506953e831254d">child_list_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpcgen_1_1_ast_node.html#ac333a0951760389cbfbf0cac7d613d10">m_children</a></td></tr>
<tr class="separator:ac333a0951760389cbfbf0cac7d613d10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Homogeneous AST node class. </p>
<p>This class is meant to represent arbitrary AST nodes. Each node optionally has a <a class="el" href="classerpcgen_1_1_token.html" title="Encapsulates all information about a token. ">Token</a> object associated with it. It has an ordered list of child nodes and a pointer to its parent. Named attribute values can be set on a node. The attribute values are members of the <a class="el" href="class_value.html" title="Abstract base class for values of arbitrary types. ">Value</a> class hierarchy of boxed types. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a3457e8079d80158047cee1294926c63f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string, <a class="el" href="class_value.html">Value</a> *&gt; <a class="el" href="classerpcgen_1_1_ast_node.html#a3457e8079d80158047cee1294926c63f">erpcgen::AstNode::attribute_map_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Map type of named attributes. </p>

</div>
</div>
<a class="anchor" id="a053e9217ba8ff1e13b506953e831254d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&gt; <a class="el" href="classerpcgen_1_1_ast_node.html#a053e9217ba8ff1e13b506953e831254d">erpcgen::AstNode::child_list_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Vector of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> children. </p>

</div>
</div>
<a class="anchor" id="a37e7c745e3e23d65fc18cf3038c997ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef child_list_t::const_iterator <a class="el" href="classerpcgen_1_1_ast_node.html#a37e7c745e3e23d65fc18cf3038c997ee">erpcgen::AstNode::const_iterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constant iterator of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> children vector. </p>

</div>
</div>
<a class="anchor" id="a6a1e32ead902f4832fe77bf0fea9b85d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef child_list_t::iterator <a class="el" href="classerpcgen_1_1_ast_node.html#a6a1e32ead902f4832fe77bf0fea9b85d">erpcgen::AstNode::iterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Iterator of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> children vector. </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af93e5482a8c032afb73a0443bdfb8c10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">erpcgen::AstNode::AstNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;&#160;</td>
          <td class="paramname"><em>token</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function is constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class. </p>
<p>This function set parent <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> variable for this object to nullptr and token variable for this object to given token.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">token</td><td>Constant reference to token.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>AstNode::AstNode(Token * token, AstNode * parent) </dd>
<dd>
<a class="el" href="classerpcgen_1_1_ast_node.html#a6461dacf08c5e25ceadb84c798db996b" title="This function is copy constructor of AstNode class. ">AstNode::AstNode(const AstNode &amp; other)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a85358932700cac01ee23a220205bdfba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">erpcgen::AstNode::AstNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>parent</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function is constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class. </p>
<p>This function set parent <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> variable for this object to given node and token variable for this object to given token.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">token</td><td>Pointer to given token. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parent</td><td>Pointer to given parent node.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>AstNode::AstNode(Token * token) </dd>
<dd>
<a class="el" href="classerpcgen_1_1_ast_node.html#a6461dacf08c5e25ceadb84c798db996b" title="This function is copy constructor of AstNode class. ">AstNode::AstNode(const AstNode &amp; other)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a6461dacf08c5e25ceadb84c798db996b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AstNode::AstNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is copy constructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class. </p>
<p>This function copy data from given node to this object.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>Given node.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>AstNode::AstNode(Token * token) </dd>
<dd>
AstNode::AstNode(Token * token, AstNode * parent) </dd></dl>

</div>
</div>
<a class="anchor" id="aeb0797e0870237b6adb6398fc81ebe6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AstNode::~AstNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function is destructor of <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> class. </p>
<p>This function also call for children destructors. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3c0a8040c3cf0ea621544bffdc44a033"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AstNode::appendChild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function add given node to the end of children list for current <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>. </p>
<p>If node is NULL then a NULL pointer is added to the children list. The list node's location is automatically updated after the node is added by a call to updateLocation().</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Child node for current <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a945c2572ca43f2864c396770a1c5e29c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t erpcgen::AstNode::attributeCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns count of node attributes. </p>
<dl class="section return"><dt>Returns</dt><dd>Size of node attributes. </dd></dl>

</div>
</div>
<a class="anchor" id="a1054ec1fa85752e99ffa3adfb72b1bb2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t erpcgen::AstNode::childCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function return count of children for current node. </p>
<dl class="section return"><dt>Returns</dt><dd>Count of children for current node. </dd></dl>

</div>
</div>
<a class="anchor" id="af578fd9636566a042f6fd0c9cfaa3cd1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>* erpcgen::AstNode::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns an exact duplicate of this object. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to new (cloned) <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> object. </dd></dl>

</div>
</div>
<a class="anchor" id="abbb9fcfb549677f64e71b3345b17ef53"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_value.html">Value</a> * AstNode::getAttribute </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function return attribute from <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes. </p>
<p>This function return attribute from giving name in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name for <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attribute.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<dl class="section see"><dt>See also</dt><dd>bool AstNode::hasAttribute() const </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#a84856c47428fc75851c9d1dce3d0d674" title="This function set attribute in AstNode attributes. ">AstNode::setAttribute()</a> </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#abd2e5d91497abeab14f18bd2320e023d" title="This function remove attribute from AstNode attributes. ">AstNode::removeAttribute()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a651cbcd73e0c4c0b75b8c21334bf3bbd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>* erpcgen::AstNode::getChild </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function return child node from node children. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of node child.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to searched child node.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>size_t <a class="el" href="classerpcgen_1_1_ast_node.html#a077d782a18bdfb22d8a10a828481088c" title="This function return index of current node in parent&#39;s list of children. ">AstNode::getIndex()</a> </dd>
<dd>
size_t <a class="el" href="classerpcgen_1_1_ast_node.html#aed311b11f950bd3cf65e1a66e96a3cc1" title="This function return index of searched child node. ">getIndexOfChild()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a814dc8085d1ac2fe4290200f514fdece"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">string AstNode::getDescription </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns string description of the node. </p>
<dl class="section return"><dt>Returns</dt><dd>String description of the node. </dd></dl>

</div>
</div>
<a class="anchor" id="a077d782a18bdfb22d8a10a828481088c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t AstNode::getIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function return index of current node in parent's list of children. </p>
<dl class="section return"><dt>Returns</dt><dd>Return value is from parent getIndexOfChild.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>size_t <a class="el" href="classerpcgen_1_1_ast_node.html#aed311b11f950bd3cf65e1a66e96a3cc1" title="This function return index of searched child node. ">AstNode::getIndexOfChild()</a> </dd>
<dd>
<a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> * <a class="el" href="classerpcgen_1_1_ast_node.html#a651cbcd73e0c4c0b75b8c21334bf3bbd" title="This function return child node from node children. ">getChild()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aed311b11f950bd3cf65e1a66e96a3cc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t AstNode::getIndexOfChild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>child</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function return index of searched child node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">child</td><td>Searched child node for current <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index of searched child node. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">-1</td><td>If child was not found.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>size_t <a class="el" href="classerpcgen_1_1_ast_node.html#a077d782a18bdfb22d8a10a828481088c" title="This function return index of current node in parent&#39;s list of children. ">AstNode::getIndex()</a> </dd>
<dd>
<a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> * <a class="el" href="classerpcgen_1_1_ast_node.html#a651cbcd73e0c4c0b75b8c21334bf3bbd" title="This function return child node from node children. ">getChild()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a71886c95f8fe70f115ccba2883cb4f08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>* erpcgen::AstNode::getParent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns pointer to parent node. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to parent node. </dd></dl>

</div>
</div>
<a class="anchor" id="a4644802709f33aabbeed7450d0f5ee1f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_token.html">Token</a>&amp; erpcgen::AstNode::getToken </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns token of this node. </p>
<dl class="section return"><dt>Returns</dt><dd>Node token.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>const <a class="el" href="classerpcgen_1_1_token.html" title="Encapsulates all information about a token. ">Token</a> &amp; <a class="el" href="classerpcgen_1_1_ast_node.html#a4644802709f33aabbeed7450d0f5ee1f" title="This function returns token of this node. ">getToken()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a56d14536ef1c2dd5ddf2e02bfa87e2eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classerpcgen_1_1_token.html">Token</a>&amp; erpcgen::AstNode::getToken </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns constant token of this node. </p>
<dl class="section return"><dt>Returns</dt><dd>Node constant token pointer.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classerpcgen_1_1_token.html" title="Encapsulates all information about a token. ">Token</a> &amp; <a class="el" href="classerpcgen_1_1_ast_node.html#a4644802709f33aabbeed7450d0f5ee1f" title="This function returns token of this node. ">getToken()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad56b39de022d91dc3a72f81be94f0783"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string erpcgen::AstNode::getTokenString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns string representation of this node token value. </p>
<dl class="section return"><dt>Returns</dt><dd>Node token value string representation. </dd></dl>

</div>
</div>
<a class="anchor" id="a8c085f49a7b1b3fd70184c886874b881"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_value.html">Value</a>* erpcgen::AstNode::getTokenValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns value of token of this node. </p>
<dl class="section return"><dt>Returns</dt><dd>Node token value pointer. </dd></dl>

</div>
</div>
<a class="anchor" id="ad2b918b3e6a1d776cd2d97fc35194889"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AstNode::hasAttribute </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function find attribute in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes. </p>
<p>This function find attribute from giving name in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name for <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attribute.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if attribute was found.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>Value* <a class="el" href="classerpcgen_1_1_ast_node.html#abbb9fcfb549677f64e71b3345b17ef53" title="This function return attribute from AstNode attributes. ">AstNode::getAttribute()</a> </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#a84856c47428fc75851c9d1dce3d0d674" title="This function set attribute in AstNode attributes. ">AstNode::setAttribute()</a> </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#abd2e5d91497abeab14f18bd2320e023d" title="This function remove attribute from AstNode attributes. ">AstNode::removeAttribute()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af340a5e5babee2b8abd6c264af0f288f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string erpcgen::AstNode::nodeName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function returns name of this node. </p>
<dl class="section return"><dt>Returns</dt><dd>Node name as string representation. </dd></dl>

</div>
</div>
<a class="anchor" id="a0953078572b027d3fe1a0b013ea14318"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp; AstNode::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assignment operator. </p>
<p>This function copy data from one to second node, when assignment operator is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>Other is <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>, from which are copied data to second <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Second <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> object. </dd></dl>

</div>
</div>
<a class="anchor" id="a378dcdd292eb8b68be6e453871de8754"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_value.html">Value</a>*&amp; erpcgen::AstNode::operator[] </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Square brackets. </p>
<p>This function return node attribute from attributes. Attribute is requested by given attribute name in square brackets.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of searched attribute.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Node attribute. </dd></dl>

</div>
</div>
<a class="anchor" id="a649844703d0856c1ac202a596e8cd0dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>*&amp; erpcgen::AstNode::operator[] </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Square brackets. </p>
<p>This function return node from this node children list. Attribute is requested by given attribute index number in square brackets.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of searched child node.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Node child.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>const <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> *&amp; operator [] () </dd></dl>

</div>
</div>
<a class="anchor" id="a007f4478774729c7dcaba8c79a63c4df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>* erpcgen::AstNode::operator[] </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Square brackets. </p>
<p>This function return const node from this node children list. Attribute is requested by given attribute index number in square brackets.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>Index of searched child node.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Node child const node.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> *&amp; operator [] () </dd></dl>

</div>
</div>
<a class="anchor" id="abd2e5d91497abeab14f18bd2320e023d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AstNode::removeAttribute </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function remove attribute from <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes. </p>
<p>This function remove attribute from giving name in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name for <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attribute.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>bool AstNode::hasAttribute() const </dd>
<dd>
Value* <a class="el" href="classerpcgen_1_1_ast_node.html#abbb9fcfb549677f64e71b3345b17ef53" title="This function return attribute from AstNode attributes. ">AstNode::getAttribute()</a> </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#a84856c47428fc75851c9d1dce3d0d674" title="This function set attribute in AstNode attributes. ">AstNode::setAttribute()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a50e36414d2fdeabc1197cad5ea014d77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AstNode::replaceChild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>original</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>replacement</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function replace child in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> tree. </p>
<p>This function replace original <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> child with replacement.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">original</td><td>Original <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> child. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">replacement</td><td>Replacement <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> child.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>void <a class="el" href="classerpcgen_1_1_ast_node.html#aa809c3fe3989fd4e0f8fd6900b378e9f" title="This function replace children location in AstNode tree. ">AstNode::reverseExpr()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa809c3fe3989fd4e0f8fd6900b378e9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AstNode::reverseExpr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function replace children location in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> tree. </p>
<p>This function move top of array <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> node in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> tree to bottom of tree.</p>
<dl class="section see"><dt>See also</dt><dd>void <a class="el" href="classerpcgen_1_1_ast_node.html#a50e36414d2fdeabc1197cad5ea014d77" title="This function replace child in AstNode tree. ">AstNode::replaceChild()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a84856c47428fc75851c9d1dce3d0d674"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AstNode::setAttribute </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_value.html">Value</a> *&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set attribute in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes. </p>
<p>This function set attribute for giving name and node in <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attributes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name for <a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attribute. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td><a class="el" href="classerpcgen_1_1_ast_node.html" title="Homogeneous AST node class. ">AstNode</a> attribute.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>bool AstNode::hasAttribute() const </dd>
<dd>
Value* <a class="el" href="classerpcgen_1_1_ast_node.html#abbb9fcfb549677f64e71b3345b17ef53" title="This function return attribute from AstNode attributes. ">AstNode::getAttribute()</a> </dd>
<dd>
void <a class="el" href="classerpcgen_1_1_ast_node.html#abd2e5d91497abeab14f18bd2320e023d" title="This function remove attribute from AstNode attributes. ">AstNode::removeAttribute()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ade4a3ceb22c961deab26c534a0d4f512"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void erpcgen::AstNode::setParent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a> *&#160;</td>
          <td class="paramname"><em>newParent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function set parent for this node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">newParent</td><td>Pointer to given parent node. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac87ae686f256b14b79379728ce953358"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void erpcgen::AstNode::setToken </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpcgen_1_1_token.html">Token</a> &amp;&#160;</td>
          <td class="paramname"><em>token</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function set token to this node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">token</td><td>Pointer to given token. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ac0915f962b3997e08228ae38a61d935d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html#a3457e8079d80158047cee1294926c63f">attribute_map_t</a> erpcgen::AstNode::m_attributes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Map of named attributes. </p>

</div>
</div>
<a class="anchor" id="ac333a0951760389cbfbf0cac7d613d10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html#a053e9217ba8ff1e13b506953e831254d">child_list_t</a> erpcgen::AstNode::m_children</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Ordered list of children of this node. </p>

</div>
</div>
<a class="anchor" id="a6b1ce2ea174015570a48d8ca394e00fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_ast_node.html">AstNode</a>* erpcgen::AstNode::m_parent</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Pointer to parent node of this object. May be NULL. </p>

</div>
</div>
<a class="anchor" id="a8709501b1d20303735df9cb03b8b5e3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpcgen_1_1_token.html">Token</a> erpcgen::AstNode::m_token</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The token associated with this node. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_ast_node_8h_source.html">AstNode.h</a></li>
<li>AstNode.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer">Copyright 2016-2020 NXP Semiconductors. All rights reserved.
    </li>
  </ul>
</div>
</body>
</html>
